$(document).ready(function(){
    
   $("#editar_locacao").validate({
        onkeyup: false,
        errorClass: 'error',
        validClass: 'valid',
        highlight: function(element) {
            $(element).closest('div').addClass("f-error");
        },
        unhighlight: function(element) {
            $(element).closest('div').removeClass("f-error");
        },
        errorPlacement: function(error, element) {
            $(element).closest('div').append(error);
        },
        rules: {
            valor: {
                required: true,
                verifica_valor: true,
                
            },
            status: {
                required: true
            },
            filme:{
                verifica_filmes : true
            }
        }
    });

   jQuery.validator.addMethod("verifica_filmes", function(value, element) {
        
        var filmes = $('.filme');
        
        if(((filmes.length === 0)) ){
            
            $('#div_filmes').addClass('f-error');
            //$('#erro_filme').show();
            $('#msg_verifica_filmes').show();
            $('#msg_verifica_filmes').addClass('error');
            return false;
        } 
        else{
            //$('#erro_filme').hide();
            $('#msg_verifica_filmes').hide();
            $('#msg_verifica_filmes').removeClass('error');
            return true;        
        }
        
    }, "Selecione pelo menos um filme");
    
       jQuery.validator.addMethod("verifica_valor", function(value, element) {
        
        var valor = $('#valor').val();
        
        valor = parseFloat(valor);
      
        if(isNaN(valor) ){
            
           
            return false;
        } 
        else{
            
            return true;        
        }
        
    }, "O campo valor está incorreto");
    

    var cache_clientes = {};
    if ($("#cliente").length > 0) {
        $("#cliente").autocomplete({
            source:
                    function(request, response) {
                        var term = request.term;
                        if (term in cache_clientes) {
                            response(cache_clientes[ term ]);
                            return;
                        }
                        $.ajax({
                            dataType: "json",
                            url: $('#base_url').val() + '/locacoes/busca_cliente/',
                            data: 'nome=' + request.term,
                            type: 'POST',
                            success: function(data) {

                                cache_clientes[ term ] = data;
                                response(data);
                            },
                            error: function(data) {

                            }
                        });
                    },
            minLength: 2,
            select: function(event, ui) {

                $("#cliente").val(ui.item.nome);
                $("#cliente_id").val(ui.item.id);
                $("#logradouro").val(ui.item.logradouro);
                $("#numero").val(ui.item.numero);

                return false;

            }
        }).data("ui-autocomplete")._renderItem = function(ul, item) {
            return $("<li>")
                    //.append("<a><b>" + item.nome + "</b>&nbsp;(" + item.id + ")</a>")
                    .append("<a><b>" + item.nome + "</b>&nbsp;" + item.logradouro + " "+item.numero+"</a>")
                    .appendTo(ul);
        };
    }
   
   var cache_filmes = {};
    if ($("#filme").length > 0) {
        $("#filme").autocomplete({
            source:
                    function(request, response) {
                        var term = request.term;
                        if (term in cache_filmes) {
                            response(cache_filmes[ term ]);
                            return;
                        }
                        $.ajax({
                            dataType: "json",
                            url: $('#base_url').val() + '/locacoes/busca_filme/',
                            data: 'nome=' + request.term,
                            type: 'POST',
                            success: function(data) {

                                cache_filmes[ term ] = data;
                                response(data);
                            },
                            error: function(data) {

                            }
                        });
                    },
            minLength: 2,
            select: function(event, ui) {

//                //$("#filme").val(ui.item.nome);
//                $("#filme_id").val(ui.item.id);
//                $("#categoria").val(ui.item.categoria);
//                $("#ano").val(ui.item.ano);
//                
                
                var filme = '<tr id="f'+ ui.item.id +'"><td><input type= "hidden" name="filmes[]" class="filme" value="'+ ui.item.id+'" >';
                
                filme+='<label>'+ui.item.nome+'</label></td>';
                filme+='<td><label value="'+ ui.item.valor+'" id = "v'+ ui.item.id +'">'+ui.item.valor+'</label></td>';
                filme+='<td width="50"><input type="button" data-filme="f'+ui.item.id+'" data-valor="'+ui.item.valor+'" name="botao-ok" value="Remover" class="btn btn-danger btn_remove_filme"></td></tr>';
                $('#div_filmes').append(filme);
                
                 var total =  (parseFloat($('#valor').val()) + parseFloat(ui.item.valor));
                 total = Number((total).toFixed(2));
                 $('#valor').val(total);
                //alert(total);
                
                
                return false;

            }
        }).data("ui-autocomplete")._renderItem = function(ul, item) {
            return $("<li>")
                    //.append("<a><b>" + item.nome + "</b>&nbsp;(" + item.id + ")</a>")
                    .append("<a><b>" + item.nome + "</b>&nbsp; (" + item.ano +")</a>")
                    .appendTo(ul);
        };
    }
    
    $(document).on('click','.btn_remove_filme',function(){
        
        $('#'+$(this).data('filme')).remove();
        
        
        
        var total = (parseFloat($('#valor').val()) - parseFloat($(this).data('valor')));
        total = Number((total).toFixed(2));
        $('#valor').val(total);
        
    });
    
    $("#data").inputmask('dd/mm/yyyy', { "placeholder": "__/__/____" });
    
});




         